// #include <stdio.h>
// #include <stdlib.h>
// #include <string.h>
// #include <unistd.h>
// #include <sys/socket.h>
// #include <netinet/in.h>
// #include <arpa/inet.h>
// #include <sys/epoll.h>
// #include <netinet/tcp.h>
// #include <sys/ioctl.h>
// #include <net/if.h>
// #include <fcntl.h>
// #include <errno.h>     // POSIX 标准头文件
// #include <sys/errno.h> // 部分系统需要此头文件

// int main()
// {
//     struct sockaddr_in s_addr;
//     struct sockaddr_in c_addr;
//     int sock;
//     socklen_t addr_len;
//     int len;
//     char buff[128];
//     if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
//     {
//         perror("socket");
//         exit(errno);
//     }
//     else
//     {
//         printf("create socket");
//     }
//     memset(&s_addr, 0, sizeof(struct sockaddr_in));
//     s_addr.sin_family = AF_INET;
//     s_addr.sin_port = htons(7838);
//     s_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
//     addr_len = sizeof(c_addr);
//     strcpy(buff,"i'm here");
//     len = sendto(sock,buff,strlen(buff),0,(struct sockaddr*) &s_addr,addr_len);
//     printf("send success \n\r");
//     return 0;
// }

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#define SERVER_IP "127.0.0.1"
#define PORT 8080

int main() {
    int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
    struct sockaddr_in server_addr = {
        .sin_family = AF_INET,
        .sin_port = htons(PORT),
        .sin_addr.s_addr = inet_addr(SERVER_IP)
    };

    const char *msg = "Hello from client!";
    sendto(sockfd, msg, strlen(msg), 0, 
          (struct sockaddr*)&server_addr, sizeof(server_addr));
    
    close(sockfd);
    return 0;
}

